// TODO: 题目
// 1.typeof 能判断哪些类型?
// 2.何时使用 === 何时使用 ==
// 3.值类型和引用类型的区别
// 4.手写深拷贝

// TODO:基本数据类型
let a; // undefined
const s = 'abc';
const n = 100;
const b = true;
const s = Symbol('s');
const b = 123n;
const n = null;

// TODO:引用类型
const obj = { x: 100 };
const arr = ['a', 'b'];
function fn() {} // 特殊的引用类型, 但不用于存储数据, 所以没有 拷贝,复制函数 这一说


// TODO:typeof 运算符
// 识别所有值类型
// 识别函数
// 判断是否是引用类型(不可再细分)
typeof a; // undefined
typeof s; // string
typeof n; // number
typeof b; // boolean
typeof s; // symbol
typeof b; // bigint

// 能判断函数
typeof console.log; // function
typeof function fn(){} // function

// 能识别引用类型(不能再继续识别)
typeof null; // object
typeof ['a', 'b']; // object
typeof { x: 100 }; // object